﻿#ifndef __MODEL_H__
#define __MODEL_H__

#include <vector>
#include "geometry.h"

class Model {
private:
	std::vector<Vec3f> verts_; // 所有顶点
	std::vector<Vec2f> vertsTexture_; // 所有纹理
	std::vector<Vec3f> vertsNormal_; // 所有法线
	std::vector<std::vector<int> > facesV_; // 面-顶点
	std::vector<std::vector<int> > facesVT_; // 面-纹理
	std::vector<std::vector<int> > facesVN_; // 面-法线
public:
	Model(const char *filename);
	~Model();
	int nverts();
	int nfaces();
	Vec3f vert(int i);// 获得顶点坐标
	Vec2f vertTexture(int i);// 获得纹理坐标
	Vec3f vertNormal(int i);// 获得法线
	std::vector<int> face_v(int idx);
	std::vector<int> face_vt(int idx);
	std::vector<int> face_vn(int idx);
};

#endif //__MODEL_H__
